#ifndef CLASSB_H
#define CLASSB_H


#include <iostream>
using namespace std;

#include "InterfaceTypeA.h"

namespace my_namespace {
class ClassB : public InterfaceTypeA
{
public:
    RTTI_DECLARE_OBJECT_WITH_ALIAS(ClassB, my_namespace::ClassB)
    RTTI_BEGIN_CAST_MAP()
        RTTI_CAST_ENTRY_CHAIN(InterfaceTypeA)
        RTTI_CAST_ENTRY(ClassB)
    RTTI_END_CAST_MAP()

public:
    ClassB()
    {
        cout << "ClassB" << endl;
    }
    virtual ~ClassB()
    {
        cout << "~ClassB" << endl;
    }

    virtual void myname() {
        cout << "ClassB hello world" << endl;
    }
};

}
#endif // CLASSB_H
